import { S } from '../../s';
import { IPSDERBase } from './ipsderbase';
import { PSModelObjectImpl } from '../../psmodel-object-impl';

export class PSDERBaseImpl extends PSModelObjectImpl implements IPSDERBase {
  get codeName(): string {
    return this.M.codeName;
  }

  get dERTag(): string {
    return this.M.dERTag;
  }

  get dERTag2(): string {
    return this.M.dERTag2;
  }

  get dERType():
    | 'DER1N'
    | 'DERINHERIT'
    | 'DERINDEX'
    | 'DER11'
    | 'DERMULINH'
    | 'DERCUSTOM'
    | 'DERAGGDATA' {
    return this.M.dERType;
  }

  get logicName(): string {
    return this.M.logicName;
  }

  get minorCodeName(): string {
    return this.M.minorCodeName;
  }

  get minorServiceCodeName(): string {
    return this.M.minorServiceCodeName;
  }

  get orderValue(): number {
    return this.M.orderValue;
  }

  get serviceCodeName(): string {
    return this.M.serviceCodeName;
  }
  get cls(): string {
    return 'PSDERBaseImpl';
  }
  instanceof(cls: string): boolean {
    if (cls == S._272) return true;
    return super.instanceof(cls);
  }
}
